package qx.hyj.petrescue.config;


import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import qx.hyj.petrescue.intercept.TokenIntercept;

@Configuration
@EnableWebMvc
public class InterceptorConfig implements WebMvcConfigurer {
    // 添加拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 添加TokenIntercept拦截器
        registry.addInterceptor(new TokenIntercept())
                // 拦截所有路径
                .addPathPatterns("/**")
                // 排除登录路径
                .excludePathPatterns("/Petrescue/users/login","/Petrescue/blog/Blogs");
    }
    // 添加跨域映射
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        // 添加所有路径的跨域映射
        registry.addMapping("/**")
                // 允许的源
                .allowedOrigins("http://example.com")
                // 允许的请求方法
                .allowedMethods("GET", "POST", "PUT", "DELETE")
                // 允许的请求头
                .allowedHeaders("*")
                // 是否允许发送Cookie
                .allowCredentials(true)
                // 允许的源，使用通配符
                .allowedOriginPatterns("*")
                // 是否允许发送Cookie
                .allowCredentials(true)
                // 预检请求的缓存时间
                .maxAge(3600);
    }
}
